

export default {
    /**
     * 模糊查询
     * @param {String} stri 查询的字符串
     * @param {String} keyi 索引
     * @returns 
     */
    fuzzyQuery: (stri, keyi) => {
        let index = -1, flag = false,
            str = stri + "", // 将数字类型转成字符串类型
            key = keyi + "";
        for (var i = 0, arr = key.split(""); i < arr.length; i++) {
            //有一个关键字都没匹配到，则没有匹配到数据
            if (str.indexOf(arr[i]) < 0) {
                break;
            } else {
                let match = str.matchAll(arr[i]);
                let next = match.next();
                while (!next.done) {
                    if (next.value.index > index) {
                        index = next.value.index;
                        if (i === arr.length - 1) {
                            flag = true
                        }
                        break;
                    }
                    next = match.next();
                }

            }
        }
        return flag
    },
    /**
     * 数组内容去重
     * @param {Array} array 传入一个数组
     * @returns 
     */
    uniqueArr(array) {
        array.sort();
        var n = [];
        for (var i = 0; i < array.length; i++) {
            if (array[i] !== n[n.length - 1]) {
                n.push(array[i]);
            }
        }
        return n;
    },
    // 当前年月日
    getCurrentDay: () => {
        return new Date(+new Date() + 8 * 3600 * 1000).toJSON().substr(0, 19).split("T")[0];
    },

    // 当前时间 年月日时分秒
    getCurrentTime: () => {
        return new Date(+new Date() + 8 * 3600 * 1000).toJSON().substr(0, 19).replace("T", " ");
    },
    //将老的文件名拼上时间戳
    generate: () => {
        let d = new Date();
        return `${"" + d.getFullYear() + (d.getMonth() + 1) + d.getDate() + '_' + d.getHours() + d.getMinutes() + d.getSeconds()}`;
    },
    // 驼峰转换下划线
    toLine: (name) => {
        return name.replace(/([A-Z])/g, "_$1").toLowerCase();
    },
}